package com.spzx.product.service.impl;

import com.spzx.common.core.exception.ServiceException;
import com.spzx.product.domain.ProductUnit;
import com.spzx.product.mapper.ProductUnitMapper;
import com.spzx.product.service.ProductUnitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProductUnitServiceImpl implements ProductUnitService {

    @Autowired
    ProductUnitMapper productUnitMapper;

    @Override
    public List<ProductUnit> selectList(ProductUnit productUnit) {
        return productUnitMapper.selectList(productUnit);
    }

    @Override
    public ProductUnit getInfo(Long id) {
        return productUnitMapper.getOne(id);
    }

    @Override
    public void save(ProductUnit productUnit) {
        try {
            productUnitMapper.save(productUnit);
        } catch (DuplicateKeyException e) {
            throw new ServiceException("商品单位：" + productUnit.getName() + "，已经添加");
        }
    }

    @Override
    public void update(ProductUnit productUnit) {
        try {
            productUnitMapper.update(productUnit);
        } catch (DuplicateKeyException e) {
            throw new ServiceException("商品单位：" + productUnit.getName() + "，已经添加");
        }
    }

    @Override
    public void delete(Long[] ids) {
        productUnitMapper.delete(ids);
    }

    @Override
    public List<ProductUnit> selectProductUnitAll() {
        return productUnitMapper.selectList(null);
    }
}
